package com.apis.user;

import com.domain.dto.PageDTO;
import com.domain.dto.user.AddUserDTO;
import com.domain.dto.user.ModifyUserDTO;
import com.domain.dto.user.ModifyUserRoleDTO;
import com.domain.dto.user.UserDTO;
import com.domain.query.user.UserQuery;
import com.domain.vo.JsonVO;

import java.util.List;

public interface UserApis {
    //查询用户列表
    JsonVO<PageDTO<UserDTO>> queryUserList(UserQuery userQuery);

    //查询具体用户
    JsonVO<UserDTO> queryUserByUserId(Integer userId);

    //新增用户
    JsonVO<Integer> addUser(AddUserDTO addUserDTO);

    //修改用户
    JsonVO<Integer> modifyUser(ModifyUserDTO modifyUserDTO);

    //删除用户
    JsonVO<Integer> removeUser(List<Integer> userIds);

    //修改用户角色
    JsonVO<Integer> modifyRoleUser(ModifyUserRoleDTO modifyUserRoleDTO);

    //查询用户的角色列表
    JsonVO<List<String>> queryRoleNameListByUserId(Integer userId);
}
